choose community edition CE https://docs.docker.com/engine/installation example install docker ubuntu https://docs.docker.com/engine/installation/linux/docker-ce/ubuntu
Erreur avec AptGet⊠OK docker-ce nâĂ©tait pas dispo de base, il a fallu ajouter des serveurs En fait, jâai du suivre le post: https://gist.github.com/Stoakes/a5adb36e9211964dbf00b47d36edd181
Post-installation steps for Linux https://docs.docker.com/engine/installation/linux/linux-postinstall
https://docs.docker.com/compose/install
git clone https://gitlab.adullact.net/pixelhumain/docker ~/pixelhumain-docker
cd ~/pixelhumain-docker
#pour linux
docker-compose -f docker-compose.yml -f docker-compose.install.yml run ph cotools --install
#ou pour windows/mac utiliser
docker-compose -f docker-compose-no-build.yml -f docker-compose.install-no-build.yml run ph cotools --install
Modifier les droits pour pouvoir modifier les fichiers :
Pour taper ces commandes, se mettre dans le rep : cd ~/pixelhumain-docker
#modifier le group/user pour pouvoir ouvrir/modifier les fichiers
sudo chown -R ${USER:=$(/usr/bin/id -run)}:$USER code/
sudo chown -R ${USER:=$(/usr/bin/id -run)}:$USER code/pixelhumain/
sudo chown -R ${USER:=$(/usr/bin/id -run)}:$USER code/modules/
sudo chown -R ${USER:=$(/usr/bin/id -run)}:$USER code/log/
Voir aussi âGetting startâ : https://docs.docker.com/compose/gettingstarted/#step-3-define-services-in-a-compose-file
Suite Ă cela, je nâavais pas accĂšs Ă CO. Nous avons vĂ©rifiĂ© si un container tournait (voir paragraphe plus bas) -> non Nous avons supprimĂ© le rĂ©pertoire code pour tout recommencer.
docker-compose -f docker-compose.yml -f docker-compose.install.yml run ph install
Explication la il va rebuilder le container front et utiliser le container install pour faire lâinstall sur le front câest pour ça que lâon a 2 fichier :
docker-compose.install.yml ne sert que pour lâinstall et certaine commande
Suite Ă ces commandes, il clone tout ce quâil faut en local, ça prend un certain temps en fonction de votre rĂ©seauâŠ
Aller sur http://localhost:5080
La premiĂšre fois, jâai eu des messages dâerreur dâaccĂšsâŠ
Thomas mâa demandĂ© si jâavais le rĂ©pertoire :
/pixelhumain-docker/code/pixelhumain/ph/vendor/
mais je ne lâavais pasâŠ
Nous avons de nouveau supprimé le répertoire code, et modifié le script
/pixelhumain-docker/docker-install/Dockerfile
pour y ajouter curl et php
Pour savoir si docker tourne, faire "docker ps" Sâil nây a rien (Ă part le titre des colonnes du tableau), câest signe quâaucun container ne tourne.
Exemple : ici, il nây a pas de container qui tourne :
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
LĂ , il y en a :
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
92ed85af6a28 pixelhumaindocker_front "/usr/bin/supervisord" 4 weeks ago Up About a minute 9000/tcp, 0.0.0.0:5080->80/tcp, 0.0.0.0:5443->443/tcp, 0.0.0.0:5901->9001/tcp pixelhumaindocker_front_1
8f16ade3a72b mongo "docker-entrypoint..." 4 weeks ago Up About a minute 27017/tcp pixelhumaindocker_mongo_1
Et pour lancer un container :
docker-compose -f docker-compose.yml up
Une fois sur lâinterface dâaccueil de CO, il faut remplir le formulaire dâinscription, sauf que le mail dâactivation nâest pas envoyĂ©.
Pour passer cette Ă©tape, on âtricheâ avec la commande :
docker-compose -f docker-compose.yml -f docker-compose.install.yml run ph cotools --emailvalid=email@example.com
(en modifiant bien sur : email@example.com par lâemail qui a servi Ă lâinscription) On rafraĂźchit la page, on se loge, et ça fonctionne, on arrive dans CO !
https://docs.docker.com/engine/installation/linux/linux-postinstall/#configure-docker-to-start-on-boot
sudo systemctl enable docker
Synchronizing state of docker.service with SysV init with /lib/systemd/systemd-sysv-install...
Executing /lib/systemd/systemd-sysv-install enable docker
Malgré cela, CO ne démarre pas au lancement de ma machine.
Je nâai pas encore rĂ©ussi (pas essayĂ© non plusâŠ) Ă le lancer au dĂ©marrage, donc Ă chaque fois que je souhaite lancer CO :
~/projets/pixelhumain-docker/docker-compose -f docker-compose.yml upTout est notĂ© Ă la fin du script ci-dessus⊠(je dis ça, car jâai cherchĂ© un peu car je nâavais pas luâŠ)
Pour avoir accĂšs Ă mongo en dehors du container il faut ouvrir le port Voir fichier : https://github.com/pixelhumain/docker/blob/master/docker-compose.yml
Jâai du ajouter la ligne concernant lâouverture de port comme lâexemple qui suit :
services:
mongo:
image: mongo
volumes:
- ./code/data/db:/data/db
ports:
- "5017:27017"
Cela mâa permis, via lâoutil Robomongo dâajouter une collection :
{
"_id" : ObjectId("59f1920bc30f30536124355d"),
"name" : "DEV Config",
"key" : "devParams",
"mangoPay" : {
"ClientId" : "communecter",
"ClientPassword" : "XXXXXXXXXXX",
"TemporaryFolder" : "../../tmp"
}
}
Je ne sais pas encore Ă quoi ça correspond, mais on mâa dit de le faire, sinon, jâavais lâerreur :
ERREUR 403
Missing Configs db.applications.key == prodParamsexists
Ce qui mâa permis de faire fonctionner mon instance locale.